查看原文
其他

rm -rf/ 又引发了一个血案

Linux爱好者 2021-01-31

(点击上方公号,可快速关注)

来源:cnBeta.COM  

链接:http://www.cnbeta.com/articles/492731.htm


Marco Marsala 是一家小型主机托管公司的老板,但是他最近遇到了一个天大的麻烦——由于脚本错误,他不慎删光了所有客户的数据。更糟糕的是,由于 Bash 脚本代码中包含了一行变量未定义的“rm -rf {foo}/{bar}”,连备份也连带着被干掉了——而在通常情况下,备份网络理应和正常的生产力基础设施隔离开的。



这一错误源自 Ansible 上糟糕的代码设计,这款 Linux 实用工具被用于在多台不同服务器上自动执行脚本。


开发者解释到,实际参数应该是“rm -rf {foo}/{bar}”,foo 和 bar 是脚本中动态传递的两个变量。

然而由于变量处理出错,通用语法未能成功在 bash 命令中插值,所以最终指令就变成了可怕的“rm -rf /”。

“rm -rf/”意味着擦除根路径“/”下挂载的所有内容而无需询问。


鉴于 Marsala 运行着 1535 个集群,其本来是能够在数小时(至数日)内恢复的。但由于未能妥善实现生产环境和备份环境的隔离,备份档也全没了。

不得已之下,他只能上网发帖求救,然而没人能救得了他了。当然,也许最好的建议是给律师打个电话,那样或许还不至于赔得太惨。


【今日微信公号推荐↓】


更多推荐请看
值得关注的技术和设计公众号


其中推荐了包括技术设计极客 和 IT相亲相关的热门公众号。技术涵盖:Python、Web前端、Java、安卓、iOS、PHP、C/C++、.NET、Linux、数据库、运维、大数据、算法、IT职场等。点击《值得关注的技术和设计公众号》,发现精彩!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存